Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0 #91

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 12, 2023

Bumps go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0.

Release notes

Sourced from go.mongodb.org/mongo-driver's releases.

MongoDB Go Driver 1.13.0

The MongoDB Go Driver Team is pleased to release version 1.13.0 of the official Go driver.

Release Notes

This release enhances logging, search index management, and command events. This release also introduces smarter server selection for sharded clusters, optimizing retry selection. Additionally, we streamline resource usage on FaaS platforms by disabling streaming SDAM and introduce the serverMonitoringMode=stream/poll/auto URI option.

Logging

In this release, we add logging for server selection and SDAM (Server Discovery and Monitoring). See the Go Driver logging documentation for usage.

Search Index Management Helpers

New mongo.Collection methods have been added to support search index management. For more information on search indexes, see the documentation here.

Users can create and manage search indexes programmatically. This update provides more flexibility and a smoother user experience, allowing you to define your search index within your code.

Include DatabaseName in Command Events

DatabaseName is now returned by event.CommandStartedEvent and event.CommandFinishedEvent. This field will also be included in the command logging analogues. This addition will improve performance for users needing to keep a thread-safe map to maintain command-database relations, whereas now such a map can be deprecated.

Possible Retries to Alternate Mongos for Read/Write

In sharded MongoDB cluster deployments, it's essential to avoid repeatedly selecting a failing mongos instance. Currently, the driver randomly selects a mongos for each operation, which can lead to retrying failed operations with the same problematic mongos. This enhancement introduces smarter server selection for sharded topologies:

  1. The driver will distinguish between the initial attempt and a retry.
  2. It will remember the server used for the initial attempt.
  3. When retrying, if multiple eligible mongos servers are available, the driver will select randomly from the healthy ones, excluding the previously used server.

The driver can assess mongos health before attempting a query and exclude unhealthy mongos from selection.

Transition to Polling Monitoring in FaaS Environments

In this release, we make important changes to enhance performance and flexibility. By default, streaming SDAM is now disabled on AWS Lambda and similar FaaS platforms, ensuring efficient resource utilization. We also introduce the serverMonitoringMode=stream/poll/auto URI option to give you greater control over monitoring modes. To improve client behavior, we mandate that clients refrain from using dedicated connections to measure Round-Trip Time (RTT) when employing the polling protocol. These updates aim to provide a more versatile and efficient experience for users.


For a full list of tickets included in this release, please see the links below:

Full Changelog: v1.12.2...1.13.0

Documentation for the Go driver can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver project in the MongoDB JIRA where a list of current issues can be found. Your feedback on the Go driver is greatly appreciated!

MongoDB Go Driver 1.12.2

... (truncated)

Commits
  • 01cc2a2 Update version to v1.13.0
  • d52c9e1 GODRIVER-2649 Remove RW Concern Logic from RunCommand (#1450)
  • 17f9d77 GODRIVER-3038 Add todo comments (#1452)
  • 373cda3 Fix spelling issues (#1451)
  • 4f44ebf GODRIVER-2046 Return clearer error when truncating a float64 to float32 witho...
  • 99bdb94 GODRIVER-2810 Switch to polling monitoring when running within a FaaS environ...
  • 53450c7 GODRIVER-2989 Fix golang installation in Dockerfile (#1430)
  • b8004e6 GODRIVER-3018 Use pre-commit for development (#1443)
  • 3a07cb1 GODRIVER-2005 - Replace "require" library with "assert" in documentation exam...
  • 1066e2a GODRIVER-2607 Remove legacy shell from test scripts (#1429)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.12.1 to 1.13.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](mongodb/mongo-go-driver@v1.12.1...v1.13.0)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot requested a review from a team as a code owner November 12, 2023 09:30
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Nov 12, 2023
@dependabot dependabot bot requested review from ericstengard and removed request for a team November 12, 2023 09:30
@magnusbaeck
Copy link
Member

@ericstengard, your mission, should you choose to accept it, is to have a closer look at the release notes and smoketest Goer with the updated Mongo package. We can look at it together when I'm back in the office. If this isn't the right time that's okay, you can take the next update instead.

@ericstengard
Copy link
Member

@ericstengard, your mission, should you choose to accept it, is to have a closer look at the release notes and smoketest Goer with the updated Mongo package. We can look at it together when I'm back in the office. If this isn't the right time that's okay, you can take the next update instead.

If there's no stress in merging this ASAP I'd like to take a look. We can have a chat when you're back in the office!

@ericstengard ericstengard merged commit 43e3fe3 into main Nov 24, 2023
4 checks passed
@dependabot dependabot bot deleted the dependabot/go_modules/go.mongodb.org/mongo-driver-1.13.0 branch November 24, 2023 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants